﻿/*
 * cpptypeid.h
 *
 */



#ifndef __GDK_CPPTYPEID_H__
#define __GDK_CPPTYPEID_H__

#include <gdk/core/Types.h>
#include <gdk/core/String.h>
#include <typeinfo>



namespace gdk
{



//////////////////////////////
template<typename TyClass>
String typeid_className(void)
{
#if !defined(_UNICODE)
	return typeid(TyClass).name();
#else
	return StringHelper::utf8ToWide(typeid(TyClass).name());
#endif
}

template<typename TyClass>
String typeid_className(TyClass const& obj)
{
#if !defined(_UNICODE)
	return typeid(obj).name();
#else
	return StringHelper::utf8ToWide(typeid(obj).name());
#endif
}





}//namespace gdk



#endif /*__GDK_CPPTYPEID_H__*/
